package com.hmp.recruit.admin.sys.role.controller;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.hmp.recruit.admin.sys.role.service.RoleService;
import com.hmp.recruit.admin.sys.role.vo.RoleVo;
import com.hmp.recruit.common.controller.BaseController;
import com.hmp.recruit.common.util.security.SessionUtil;
import com.hmp.recruit.common.vo.Page;
import com.hmp.recruit.common.vo.SearchParam;

@RequestMapping("/admin/sys/role")
@Controller
public class RoleController extends BaseController {

	@Resource
	private RoleService roleService;
	
	/**
	 * 到列表页面
	 * @auth ex-hejm
	 * @date 2018年11月21日 下午2:16:14
	 * @return
	 */
	@RequestMapping("/list")
	public String list() {
		return "admin/sys/role/list";
	}
	
	/**
	 * 分页查询
	 * @auth ex-hejm
	 * @date 2018年11月21日 下午3:50:03
	 * @param sp
	 * @return
	 */
	@RequestMapping("/page")
	@ResponseBody
	public Page<RoleVo> page(SearchParam sp) {
		return roleService.page(sp);
	}
	
	/**
	 * 角色详情
	 * @auth ex-hejm
	 * @date 2018年11月21日 下午3:50:42
	 * @param roleId
	 * @return
	 */
	@RequestMapping("/detail/{roleId}")
	public String detail(@PathVariable("roleId")String roleId, ModelMap map) {
		RoleVo role = roleService.getById(roleId);
		map.put("role", role);
		return "admin/sys/role/detail";
	}

	/**
	 * 新增角色页面
	 * @auth ex-hejm
	 * @date 2018年11月21日 下午3:50:42
	 * @return
	 */
	@RequestMapping("/addView")
	public String addView() {
		return "admin/sys/role/add";
	}
	
	/**
	 * 新增角色
	 * @auth ex-hejm
	 * @date 2018年11月21日 下午3:50:42
	 * @return
	 */
	@RequestMapping("/add")
	public String add(RoleVo role, HttpServletRequest request) {
		role.setCreateId(SessionUtil.getUserId(request));
		roleService.add(role);
		return redirectSuccess();
	}
}
